package model

import scala.collection.mutable.ArrayBuffer
import traits.OperacionesCenso

class Fuente(val _nombre: String,
  val provincias: ArrayBuffer[Provincia]) extends OperacionesCenso {

  def nombre = _nombre

  override def fichasAnonimasFiltradas(): ArrayBuffer[FichaAnonima] = {
    fichas.filtrarFichasAnonimas(_.fuente.equals(this))
  }

  override def empresasFiltradas(): ArrayBuffer[EmpresaRegular] = {
    fichas.filtrarEmpresas(_.fuente.equals(this))
  }
  

  def agregarProvincia(p: Provincia) = {
    provincias += p
  }

  def puedeRecolectarDe(p : Provincia) : Boolean = {
    provincias.exists(_.equals(p))
  }
  
  override def equals(f : Any) : Boolean = {
     f match {
       case f : Fuente => this.nombre.equals(f.nombre)
       case _ => false
    }
  }
 

}